package com.ruoyi.advert.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 广告管理对象 t_group_advert
 * 
 * @author 赵子煜
 * @date 2025-08-13
 */
public class TGroupAdvert extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 广告ID（主键） */
    private Long id;

    /** 广告标题（如：限时团购专场） */
    @Excel(name = "广告标题", readConverterExp = "如=：限时团购专场")
    private String advertTitle;

    /** 广告语（核心宣传文案，如：今日团购低至5折，错过再等一年！） */
    @Excel(name = "广告语", readConverterExp = "核=心宣传文案，如：今日团购低至5折，错过再等一年！")
    private String advertContent;

    /** 广告照片URL（存储图片路径，支持多图用逗号分隔） */
    @Excel(name = "广告照片URL", readConverterExp = "存=储图片路径，支持多图用逗号分隔")
    private String advertImage;

    /** 广告类型（1：首页轮播；2：分类页广告；3：详情页推荐） */
    @Excel(name = "广告类型", readConverterExp = "1=：首页轮播；2：分类页广告；3：详情页推荐")
    private Long advertType;

    /** 广告跳转链接（如：团购商品列表页、具体商品页） */
    @Excel(name = "广告跳转链接", readConverterExp = "如=：团购商品列表页、具体商品页")
    private String targetUrl;

    /** 广告开始时间（生效时间） */
    @Excel(name = "广告开始时间", readConverterExp = "生=效时间")
    private Date startTime;

    /** 广告结束时间（失效时间） */
    @Excel(name = "广告结束时间", readConverterExp = "失=效时间")
    private Date endTime;

    /** 排序权重（数字越大越靠前） */
    private Long sort;

    /** 状态（0：禁用；1：启用） */
    @Excel(name = "状态", readConverterExp = "0=：禁用；1：启用")
    private Long status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setAdvertTitle(String advertTitle) 
    {
        this.advertTitle = advertTitle;
    }

    public String getAdvertTitle() 
    {
        return advertTitle;
    }

    public void setAdvertContent(String advertContent) 
    {
        this.advertContent = advertContent;
    }

    public String getAdvertContent() 
    {
        return advertContent;
    }

    public void setAdvertImage(String advertImage) 
    {
        this.advertImage = advertImage;
    }

    public String getAdvertImage() 
    {
        return advertImage;
    }

    public void setAdvertType(Long advertType) 
    {
        this.advertType = advertType;
    }

    public Long getAdvertType() 
    {
        return advertType;
    }

    public void setTargetUrl(String targetUrl) 
    {
        this.targetUrl = targetUrl;
    }

    public String getTargetUrl() 
    {
        return targetUrl;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setSort(Long sort) 
    {
        this.sort = sort;
    }

    public Long getSort() 
    {
        return sort;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("advertTitle", getAdvertTitle())
            .append("advertContent", getAdvertContent())
            .append("advertImage", getAdvertImage())
            .append("advertType", getAdvertType())
            .append("targetUrl", getTargetUrl())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("sort", getSort())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
